/*
 * @作者: 沙昊
 * @邮箱: shahao@zju.edu.cn
 * @功能: 
 * @包含算法: 
 * Copyright (c) 2023 by 沙昊, All Rights Reserved. 
 */
#include <iostream>
#include <system_error>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int q;
    cin>> q;

    while(q--){
        int n,m;
        cin>> n >>m;
        bool sha_flag = true;
        vector<int> array_a(n),array_b(n);
        for(int i=0; i<n; i++){
            cin>>array_a[i];
        }
        for(int j=0; j<n; j++){
            cin >> array_b[j];
        }


        sort(array_b.begin(), array_b.end(), greater<int>());
        sort(array_a.begin(),array_a.end());

        for(int k=0; k<n; k++){
            if( (array_a[k]+array_b[k]>m) || (array_a[k] + array_b[k]<1)){
                sha_flag = false;
                break;
            }
        }
        if(sha_flag){
            cout<< "Yes" << endl;
        }
        else{
            cout<< "No" << endl;
        }

    }
    return 0;
}
// 64 位输出请用 printf("%lld")